home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / comm / bbs / FilePather13.lha / FilePather / Docs / FPBase.doc < prev    next >
Encoding:
Text File  |  1995-04-07  |  9.1 KB  |  252 lines

  1.  ----------------------------------------------------------------------------
  2.  
  3.                               FPBase 1.0
  4.  
  5.                                   by
  6.  
  7.                              Johan Torin
  8.  
  9.               Approved and endorsed by Users Standards Group
  10.  
  11.  ----------------------------------------------------------------------------
  12.  
  13.     The programs and files in this distribution are freely distributable, as
  14.  long as the archive remains intact, but are also Copyright © Johan Torin.
  15.  They may be freely distributed as long as no more than a nominal fee is
  16.  charged to cover time and copying costs. None of the files can be included
  17.  with commercial distributions without written permission from the author.
  18.  
  19.     This product is provided as is without warranties of any kind: the
  20.  author of this program cannot be held liable for any defects in the
  21.  executable nor in the documentation or in any other files contained in
  22.  this package. Any damage directly or indirectly caused by the use/misuse
  23.  of FPBase is the sole responsibility of the user her/him self.
  24.  
  25.  However, if  you  use  this  program  you  MUST send a message to me! Either
  26.  through email, or by  ordinary  snail mail.  This is in your own interest if
  27.  you want continued development of this project.
  28.  
  29.  Features
  30.  --------
  31.  · Creates and maintains a database of all different names found in the
  32.     savelists, and their frequency.
  33.  · Creates toplists over the most found names.
  34.  · Runs in the background or as an 'one-run' job.
  35.  · Uses little memory; both when running and especially in waitmode.
  36.  · Pure! That is; it can be made resident!
  37.  · 100% assembler.
  38.  · Enforcer & Mungwall proof.
  39.  · Requires 2.04 to run (V37).
  40.  
  41.  I have tried to make the utility suit both the normal user/bbs and
  42.  the 'elite' trader/board.
  43.  
  44.  
  45.  What it does
  46.  ------------
  47.  
  48.  As said before, FPBase will create and update a database over all
  49.  different names found. It will append each new line to '<reclist>.rec',
  50.  and keep a record about the line found frequency in '<reclist>.cnt'.
  51.  If a name is recognized, FPBase will update the database, IF the
  52.  new lines date is newer than the database. Incase of an older line,
  53.  FPBase will just update the count value. Note that all name checking
  54.  is case-sensitive! That means that 'Arnold' and 'ArNolD' will create
  55.  two different entries. So beware of the spelling when changing the
  56.  settings for FilePather.
  57.  
  58.  
  59.  Installation
  60.  ------------
  61.  
  62.  The provided installation script uses Commodores Installer utility, which
  63.  you can find in most modern commercial packages and several PD programs.
  64.  The reason why I didn't included Installer is the filesize, over 100Kb.
  65.  Ask your sysop for it.
  66.  
  67.  The installation script is shared with FilePather, and will install and
  68.  setup FPBase for you. It will ask some questions which be stored as
  69.  environment variables in ENV:.
  70.  
  71.  
  72.  Template
  73.  --------
  74.  
  75.  Usage: FPBase RecList <reclist> [SaveList <list>] [Quit]
  76.  [TaskPri <taskpri>] [Top <n>] [TopList <toplist>] [SkipFirst]
  77.  
  78.  
  79.  Keywords can be typed in with any case mixture and can be entered in
  80.  any order. Strings may be enclosed with double quotes (") OR single
  81.  quotes ('), but it is only neccesary when the string contains spaces.
  82.  Keywords enclosed with [] are optional.
  83.  
  84.  Explanation of keywords:
  85.  RecList <reclist>        Specifies the name of the files there
  86.                 the database will be stored. '.rec' and
  87.                 '.cnt' (record & count) will be appended
  88.                 on the, if so needed truncated, filename.
  89.                 Note that it is possible to specify the
  90.                 reclist filename in the 'RecList'
  91.                 environment variable.
  92.  
  93.  [Savelist <savelist>]        Normally, FPBase will be called by
  94.                 FilePather, which will pass the filename
  95.                 to process. However, if you specify the
  96.                 savelist directly, FPBase will process
  97.                 it and quit directly after finishing.
  98.                 This keyword makes it possible for the
  99.                 normal user to do all processing from
  100.                 the startup. Not recommended for a BBS,
  101.                 since the savelist might grow very large!
  102.                 
  103.  [Quit]                FPBase will try to find an allready
  104.                 running copy of FPBase, and tell it
  105.                 to quit. Note that since all messages
  106.                 are queued it may take a while for it
  107.                 to respond.
  108.  
  109.  [TaskPri <taskpri>]        This keyword sets the taskpriority for
  110.                 FPBase. Normally you shouldn't use
  111.                 values higher than 10 or lower than 10.
  112.                 It might be a good idea to check the
  113.                 priority of other tasks running at the
  114.                 same time as FPBase. If FilePather
  115.                 runs on a lower priority, it will be
  116.                 suppressed from running! So FPBase
  117.                 should run a few steps lower than
  118.                 important tasks, but higher than tasks
  119.                 which either runs forever, as a picture
  120.                 render, or non-important tasks as a
  121.                 screenblanker.
  122.  
  123.  [Top <n>]            Specifies how many entries the toplist
  124.                 should have.
  125.  
  126.  [TopList <toplist>]        The filename of the toplist data files.
  127.                 '.tre' and '.tcn' will be appended on the,
  128.                 if needed truncated, filename
  129.  
  130.  [SkipFirst]            Since FilePather writes the local FilePather
  131.                 line to the savelist as well as to the file
  132.                 under processing, your own system will show
  133.                 up as the first and most frequent entry.
  134.                 Although this is a desired feature due to
  135.                 the possiblity of statistics, you might want
  136.                 to suppress yourself from the toplist by
  137.                 specifying this keyword.
  138.  
  139.  [VarDir <dir>]            If specified, FPBase will load its
  140.                 environment variable(s) from this directory,
  141.                 thus make it possible to store them on disk
  142.                 instead of your precious memory. Note that
  143.                 the path MUST end with either ':' or '/'.
  144.  
  145.  
  146.  Entering no arguments will show the template, IF no environment variables
  147.  are set, otherwise FPBase may go into waitmode. Therefore: use 'FPBase ?'
  148.  to inquire the template.
  149.  
  150.  
  151.  Environment variables
  152.  ---------------------
  153.  
  154.  FPBase checks only two environment variables, Reclist and FP_PrefsDir.
  155.  RecList gives the same information as the keyword RecList does. Ie,
  156.  the file there the database is stored.
  157.  
  158.  FP_PrefsDir must reside directly in ENVARC:/ENV:, as it holds the path
  159.  to the directory where the other variable is loaded from. Thus it's
  160.  possible to store the env. variables on another device than the ram disk.
  161.  This variable is shared with FilePather. If the variable isn't found,
  162.  FPBase will default to 'ENV:FilePather/'.
  163.  
  164.  
  165.  Example command lines
  166.  ---------------------
  167.  
  168.  For a normal system. Should be placed in the User-startup:
  169.  FPBase RECLIST S:Reccy
  170.  
  171.  Run FPBase only once:
  172.  FPBase RECLIST S:Reccy SaveList S:FP_TempFile
  173.  
  174.  Use the environment variable to specify the reclist, and do a toplist:
  175.  FPBase Top 10 TopList T:Toppy SKIPFIRST
  176.  
  177.  Append 'Run >NIL: <NIL: ' to the beginning of all commandlines to detach
  178.  from the process.
  179.  
  180.  
  181.  Making it resident
  182.  ------------------
  183.  Well, for you out there with no idea how to make a command resident I will
  184.  show you how:
  185.  
  186.  Resident C:FPBase PURE
  187.  
  188.  (Put it in your User-Startup or likewise)
  189.  PURE incase the P bit isn't set in the protection mask. FPBase will
  190.  now run much faster since it doesn't have to reload from disk each time.
  191.  However, if you allready runs FPBase as a background process, it will
  192.  not have to reload. Anyway you will not lose any significant amount of
  193.  memory doing so, and if you are planning on sending commands to FPBase,
  194.  it is recommended that you make FPBase resident.
  195.  
  196.  
  197.  Automatic rebooting
  198.  -------------------
  199.  
  200.  If you run an unattended system (BBS), and you want to reset the
  201.  computer every day, it could be hard to know if FPBase is working
  202.  or not. Although FPBase allready has a bit of security built in
  203.  (save saves), it's possible that the files in the database will crash
  204.  on a reset. To prevent this, use this method: run FPBase as normal
  205.  from a scriptfile in your startup.
  206.  
  207.  8<--------------------------------------------------------------------------
  208.  ;Example scriptfile for FPBase
  209.  
  210.  C:FPBase RECLIST S:FP_Database
  211.  C:Wait 3            ;Optional! Makes sure the drives stops.
  212.  C:Reset
  213.  8<--------------------------------------------------------------------------
  214.  
  215.  When the time is right for a reset, you suspend your nodes and execute
  216.  'FPBase Quit' to reset. Since FPBase doesn't detaches from the CLI,
  217.  will not the scriptfile continue before FPBase exits.
  218.  
  219.  Fileformat
  220.  ----------
  221.  The fileformat for the database is the simpliest format possible.
  222.  Each line in the Rec file has a longword value in the corresponding Cnt
  223.  file. Ie, if the Rec file consists of 5 lines, the Cnt file is 5*4 bytes
  224.  big. Each longword simply tells how many times the line have been found,
  225.  with one exception. All values over $80000000 is reserved for future use,
  226.  and should be skipped. Currently only the value -1 ($ffffffff), is used.
  227.  It's means that this entry is obsolete and should be ignored. The database
  228.  is cleaned from such entries every now and then, so obsolete entries can
  229.  be found in the files.
  230.  
  231.  Currently FPBase has a built in linelength limitation of 1000 bytes.
  232.  This may change in coming versions.
  233.  
  234.  History
  235.  -------
  236.  
  237.  1.0 - April 8 1995
  238.    First release. Many betatests and changes.
  239.  
  240.  Bugs
  241.  ----
  242.  · None known :)
  243.  
  244.  To do
  245.  -----
  246.  · Ability to delete entries in the database by date or name.
  247.  · Lots of configs switches! Maybe a prefseditor?
  248.  · Even more safety when handling files.
  249.  · Sanity check on database files when initializing.
  250.  · Smarter and faster database handler! Currently it's pretty slow.
  251.  
  252.